package com.xd.center.api.bean;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@EqualsAndHashCode(callSuper = false)
public class DefaultRs {

  private String UUID;
  private String CITY;
  private String REGION;
  private String NAME;
  private String CATEGORY;
  private String BUILDINGTYPE;
  private String ADDRESS;
  private String Block;
  private String BuildDate;
  private String OpenDate;
  private String HouseType;
  private String x;
  private String y;
  private String cityRanking;
  private String cityPrice;

  private Double AREA;
  private String BLOCK;
  private String BUILDTYPE;
  private String DIRECTION;
  private String FITMENT;
  private Integer HALL;
  private Integer HEIGHT;
  private String HOUSETYPE;
  private String PUBLISHDATE;
  private Integer ROOM;
  private Integer TOILET;
  private Double TOTALPRICE;
  private Double AVERAGEPRICE;
  private String SOURCE;
  private Integer FLOOR;
  private String USEYEAR;
  private String MATCHMODEL;
  private String ESTATETYPE;
  private String BUILDSTRUCTURE;
  private String OPENDATE;
  private String SCHOOLAMOUNT;
  private String BUSSTATIONAMOUNT;
  private Double COMMUNITYPRICE;
  private String BUILDDATE;
  private String VIRESCENCEPERCENT;
  private String CUBAGEPERCENT;
  private String ESTATECHARGE;
  private Integer METROSTATIONAMOUNT;

  private String DECORATIONCOST;
  private Integer HALLAMOUNT;
  private Integer MAXFLOOR;
  private String UNITTYPE;
  private String TRADEDATE;
  private Integer ROOMAMOUNT;
  private Integer TOILETAMOUNT;
  private String REMAINUSEYEAR;
  private String GREENINGRATIO;
  private String FLOORAREARATIO;
  private String MANAGEMENTFEE;

  @ApiModelProperty(value = "小区ID，小区唯一标示")
  private String communityId;

  @ApiModelProperty(value = "小区名称")
  private String communityName;

  @ApiModelProperty(value = "小区地址")
  private String address;

  /**
   * 小区边界 argic 坐标数组
   */
  @ApiModelProperty(value = "小区边界 argic 坐标数组")
  private String bound;
  /**
   * 经度
   */
  @ApiModelProperty(value = "经度")
  private String longitude;

  /**
   * 纬度
   */
  @ApiModelProperty(value = "纬度")
  private String latitude;


  @ApiModelProperty(value = "省名称")
  private String provinceName;


  /**
   * 公交路线
   */
  @ApiModelProperty(value = "公交路线")
  private String busNames;

  @ApiModelProperty(value = "小区类型")
  private String communityType;
  @ApiModelProperty(value = "小区状态")
  private String communityStatus;

  @ApiModelProperty(value = "城市编码")
  private String cityCode;

  @ApiModelProperty(value = "城市名称")
  private String cityName;

  @ApiModelProperty(value = "行政区编码")
  private String districtCode;

  @ApiModelProperty(value = "行政区名称")
  private String districtName;

  @ApiModelProperty(value = "房屋用途")
  private String residentialType;

  /**
   * 建筑结构
   */

  @ApiModelProperty(value = "建筑结构")
  private String buildingstructureName;

  /**
   * 建筑形式
   */
  @ApiModelProperty(value = "建筑形式")
  private String buildingType;

  @ApiModelProperty(value = "建筑形式名称")
  private String buildingTypeName;
  @ApiModelProperty(value = "建筑名称")
  private String buildingName;
  //土地用途
  @ApiModelProperty(value = "土地用途")
  private String landUse;

  /**
   * 建成年份
   */
  @ApiModelProperty(value = "建成年份")
//    private Integer buildYear;
  private String buildYear;

  /**
   * 建筑面积
   */
  @ApiModelProperty(value = "建筑面积")
  private String buildArea;

  /**
   * 总占地面积
   */
  @ApiModelProperty(value = "总占地面积")
  private String coveringArea;

  /**
   * 总楼栋数
   */
  @ApiModelProperty(value = "总楼栋数")
  private Integer totalBuildingCount;

  /**
   * 总户数
   */
  @ApiModelProperty(value = "总户数")
//    private Integer totalHouseHoldCount;
  private String totalHouseHoldCount;

  /**
   * 容积率
   */
  @ApiModelProperty(value = "容积率")
  private Double plotratio;

  /**
   * 物业公司
   */
  @ApiModelProperty(value = "物业公司")
  private String propertyManagementCompany;

  /**
   * 物业费
   */
  @ApiModelProperty(value = "物业费")
  private String pmfee;

  /**
   * 开发商
   */
  @ApiModelProperty(value = "开发商")
  private String developer;

  /**
   * 楼栋列表
   */
  @ApiModelProperty(value = "楼栋列表")
  private List<Map> buildings;

  /**
   * 绿化率
   */
  @ApiModelProperty(value = "绿化率")
  private Double greenIngrate;

  @ApiModelProperty(value = "单元名称")
  private String unitName;
  /**
   * 价格
   */
  @ApiModelProperty(value = "价格")
  private String unitPrice;


  /**
   * 小区别名
   */
  @ApiModelProperty(value = "小区别名")
  private String alias;

  /**
   * 特殊价格因素
   */
  @ApiModelProperty(value = "特殊价格因素")
  private String specialPrice;

  //配置aop配置
  @ApiModelProperty(value = "配置aop配置")
  private String name;


  @ApiModelProperty(value = "区域")
  private String area;


  @ApiModelProperty(value = "建筑类型")
  private String buildType;


  @ApiModelProperty(value = "总楼栋数")
  private Integer totalBuildingNum;


  @ApiModelProperty(value = "总户数")
  private Integer totalHouseNum;

  @ApiModelProperty(value = "户名称")
  private String houseName;
  @ApiModelProperty(value = "面积")
  private Double square;

  @ApiModelProperty(value = "当前层")
  private Integer currentFloor;

  @ApiModelProperty(value = "总楼层")
  private Integer totalFloor;

  @ApiModelProperty(value = "价格")
  private BigDecimal price;
  /**
   * 建筑形式
   */
  @ApiModelProperty(value = "建筑形式")
  private String buildingForm;


  @ApiModelProperty(value = "建筑形式名称")
  private String buildingFormName;

  /**
   * 停车位数量
   */
  @ApiModelProperty(value = "停车位数量")
  private Integer carparkcount;


  @ApiModelProperty(value = "可信度")
  private String confidence;


  @ApiModelProperty(value = "户型")
  private String houseType;


  @ApiModelProperty(value = "主力户型")
  private String mainHouseType;


  @ApiModelProperty(value = "主力户型名称")
  private String mainHouseTypeName;


  @ApiModelProperty(value = "停车费")
  private Double carParkRate;
  @ApiModelProperty(value = "土地用途")
  private String comPlaneType;


  @ApiModelProperty(value = "案例均价")
  private BigDecimal casePrice;
  @ApiModelProperty(value = "小区案例最低价格")
  private BigDecimal minCasePrice;
  @ApiModelProperty(value = "小区案例最高价格")
  private BigDecimal maxCasePrice;
  @ApiModelProperty(value = "小区案例数")
//    private Integer caseCount;
  private String caseCount;
  @ApiModelProperty(value = "小区案例单价均价比上月涨幅")
  private String casePriceRateLastMonth;
  @ApiModelProperty(value = "小区案例单价均价比去年同期涨幅")
  private String casePriceRateLastYear;
  @ApiModelProperty(value = "使用案例表现期")
  private String casePeriod;
  @ApiModelProperty(value = "小区案例单价均价比上月同期涨幅价格")
  private String casePriceRateLastMonthPrice;
  @ApiModelProperty(value = "小区案例单价均价比去年同期涨幅价格")
  private String casePriceRateLastYearPrice;

  @ApiModelProperty(value = "东至")
  private String eastaddress;
  @ApiModelProperty(value = "西至")
  private String westaddress;
  @ApiModelProperty(value = "南至")
  private String southaddress;
  @ApiModelProperty(value = "北至")
  private String northaddress;
  @ApiModelProperty(value = "物业电话")
  private String pmphone;
  @ApiModelProperty(value = "是否有电梯:1,是;2,否")
  private Integer ifschoolzone;
  @ApiModelProperty(value = "周边配套")
  private String amenities;
  @ApiModelProperty(value = "小区描述")
  private String communitydescription;
  @ApiModelProperty(value = "是否有地铁:1,是;2,否")
  private String subway;
  @ApiModelProperty(value = "环线位置")
  private String linePosition;
  @ApiModelProperty(value = "物业类型")
  private String propertycategory;
  @ApiModelProperty(value = "楼栋门安全系统")
  private String buildingdoorsecurity;
  @ApiModelProperty(value = "集中供暖")
  private String centralheating;
  @ApiModelProperty(value = "开盘日期")
  private String opendate;
  @ApiModelProperty(value = "土地使用年限")
  private String livingyear;
  @ApiModelProperty(value = "街道办")
  private Integer streetofficeId;
  @ApiModelProperty(value = "车位配比率")
  private Double parkingRate;
  @ApiModelProperty(value = "预售许可证")
  private String presalecode;
  @ApiModelProperty(value = "开工时间")
  private String buildstartdate;
  @ApiModelProperty(value = "竣工时间")
  private String buildenddate;
  @ApiModelProperty(value = "交付时间")
  private String bereadydate;
  @ApiModelProperty(value = "医院")
  private String hospital;
  @ApiModelProperty(value = "银行")
  private String bank;
  @ApiModelProperty(value = "超市")
  private String market;
  @ApiModelProperty(value = "集中热水")
  private String centralhotwater;
  @ApiModelProperty(value = "是否有电梯:1,是;0,否")
  private String iflift;
  @ApiModelProperty(value = "地址别名")
  private String addressalias;
  @ApiModelProperty(value = "房屋性质")
  private String houseProperty;
  @ApiModelProperty(value = "产权性质")
  private String property;

  @ApiModelProperty(value = "商圈名称")
  private String businessDistrict;

  @ApiModelProperty(value = "行政区id")
  private Integer districtId;

  @ApiModelProperty(value = "黑白灰code: 1灰名单，2黑名单，3通过计算得出白名单 4当月无案例无法计算的小区白名单")
  @JSONField(name = "communityListType")
  private Integer influenceCode; //影响力编码
  @ApiModelProperty(value = "黑白灰名称")
  private String influenceName;
  @ApiModelProperty(value = "原因")
  private String reason;
  @ApiModelProperty(value = "特殊价格因素")
  private String specialPriceFactor;

  @ApiModelProperty(value = "评分类型")
  @JSONField(name = "indicatorsType")
  private String type;

  @ApiModelProperty(value = "评分")
  private Double score;

  @ApiModelProperty(value = "小区评级")
  private String grade;

  @ApiModelProperty(value = "小区评价")
  private String appraise;

  @ApiModelProperty(value = "是基础评分")
  private boolean parent = Boolean.FALSE;

  @ApiModelProperty(value = "小区综合评分")
  private Double compositeScore;
  @ApiModelProperty(value = "小区流动性评分")
  private Double liquidityScore;
  @ApiModelProperty(value = "小区配套评分")
  private Double communitySurroundingScore;
  @ApiModelProperty(value = "有利与不利因素, 0=无市场风险, 负数=有市场风险")
  private Double factorScore;
  @ApiModelProperty(value = "质量等级评分")
  private Double qualityGradeScore;


  private String YEARMONTH;
  private String DISTRICTNAME;
  private String DISTRICT_CODE;
  private Double BELOWCHAIN;
  private Double BELOWYEARTO;
  private Double BELOWFIXED;
  private Double AMONGCHAIN;
  private Double AMONGYEARTO;
  private Double AMONGFIXED;
  private Double ABOVECHAIN;
  private Double ABOVEYEARTO;
  private Double ABOVEFIXED;
  private Double CHAIN;
  private Double INX;

  private String districtname;
  private String circle;
  private String cname;
  private String cAddress;
  private String communications;
  private String caseTime;
  private String totalPrice;
  private String propertyType;
  private String floor;
  private String managementFees;
  private String fitting;
  private String suitableForBusiness;
  private String supporting;
  private String houseNature;
  private String parkingPlace;
  private String bulidYear;
  private String monthRent;
  private String usingYear;

}
